| r3 vs r4 | ||
|---|---|---|
| ... | ... | |
| 8 | 8 | scp 사용법은 아래와 같다. |
| 9 | 9 | |
| 10 | 10 | ># scp 원격ID@원격서버IP:파일위치 받는위치 |
| 11 | ||
| 12 | 12 | >Ex) scp root@172.16.48.201:"/home/test/{test1[20250109].txt,test2.sh,test[3].log,testfile,}" /home/test_user |
| 13 | ||
| 14 | 14 | 위 예시 명령어 확인 시 파일을 한번에 받아오기 위해 중괄호를 추가했고 파일명 중 대괄호가 포함되어 있어 쌍따옴표를 넣어줬다. |
| 15 | 15 | |
| 16 | 16 | |
| ... | ... | |
| 20 | 20 | diff 명령어를 사용해 중복된 라인을 출력 후 파일에 넣도록 스크립트 를 작성했다. |
| 21 | 21 | |
| 22 | 22 | > diff "$FILE1" "$FILE2" | grep '^<' | sed 's/^< //' >> "$OUTPUT_FILE" |
| 23 | ||
| 24 | 24 | 위 명령어 확인 시 스크립트 파일에서 특수기호 "^<" 사용을 위해 따옴표를 넣어줬다. |
| 25 | 25 | |
| 26 | 26 | |
| ... | ... | |
| 30 | 30 | diff 명령어를 사용해 각각 다른 파일에 저장하도록 스크립트를 작성했다. |
| 31 | 31 | |
| 32 | 32 | > diff "$FILE1" "$FILE2" | grep '^<' | sed 's/^< //' | awk -F '[,\t ]+' '{print $1}' >> "$NOT_EXIST_FILE" |
| 33 | ||
| 34 | 34 | 위 명령어 확인 시 제 1과제 명령어와[*1 diff "$FILE1" "$FILE2" | grep '^<' | sed 's/^< //' >> "$OUTPUT_FILE"] 비슷하지만, |
| 35 | 35 | awk를 추가해 필요한 정보만 걸러서 저장하도록 했다. |
| 36 | 36 | |
| ... | ... | |
| 41 | 41 | cat 명령어를 사용해 파일 확인 해 strftime 함수를 이용해 시간을 변환하도록 했다. |
| 42 | 42 | |
| 43 | 43 | > cat "$FILE1" | grep -v history | awk -F ',' '{print $1 "," strftime("%Y-%m-%d %H:%M:%S", $2)}' >> $EXIST_FILE |
| 44 | ||
| 45 | 45 | 위 명령어 확인 시 strftime 함수를 이용해 쉼표 2번째의 있는 텍스트(날짜)를 보기편하게(yyyy-mm-dd hh-mm-ss) 변환한다. |
| 46 | 46 | |
| 47 | 47 | > AS-IS --> 1721693207 |
| ... | ... | |
| 53 | 53 | |
| 54 | 54 | if문을 통해 6Mbps인 경우 4~6Mbps인 경우 그 외 데이터를 각각 저장 할 수 있도록 작성했다. |
| 55 | 55 | |
| 56 | ||
| 57 | ||
| 58 | ||
| 59 | ||
| 60 | ||
| 56 | {{{ if (bitrate >= 6000000) { |
|
| 57 | print out >> "HD.txt"; |
|
| 58 | hd_cnt++; hd_sum += bitrate; |
|
| 59 | } }}} |
|
| 61 | 60 | bitrate 값 마다 분리 해주는 구문이다. |
| 62 | 61 | |
| 63 | ||
| 64 | ||
| 65 | ||
| 66 | ||
| 67 | ||
| 62 | {{{if (hd_cnt > 0) { |
|
| 63 | res = sprintf("total : %d, bitrate avg : %.0f", hd_cnt, hd_sum / hd_cnt); |
|
| 64 | print res >> "HD.txt"; |
|
| 65 | } }}} |
|
| 68 | 66 | 파일 마지막 줄에 나눈 파일 마다의 총 파일의 개수와 평균 bitrate를 계산한 값을 출력하도록했다. |
| 69 | 67 | |
| 70 | 68 | |
| ... | ... | |
| 75 | 73 | > current_gb = $4/1024/1024/1024; |
| 76 | 74 | 리스트 파일에 있는 용량을 구해 GB로 변환 해준다. |
| 77 | 75 | |
| 78 | ||
| 79 | ||
| 80 | ||
| 76 | {{{ if (current_gb < limit) { |
|
| 77 | printf "%s, %s, %s, %.2f GB, %s\n", $1, $2, $3, current_gb, $5 |
|
| 78 | } }}} |
|
| 81 | 79 | if문을 통해 입력한 GB 값과 파일리스트의 GB변환값을 비교해 미만인 파일들을 출력해준다. |
| 82 | 80 | |
| 83 | 81 | |
| ... | ... | |
| 87 | 85 | > split($5, ips, " "); |
| 88 | 86 | > ip_cnt = length(ips); |
| 89 | 87 | > copy_cnt = $6; |
| 90 | ||
| 91 | 89 | split 함수를 이용해 IP 리스트 개수를 출력, |
| 92 | 90 | 복사된 개수는 이미 Count되어 있어 값을 가져 올 수 있다. |
| 93 | 91 | |
| 94 | ||
| 95 | ||
| 96 | ||
| 97 | ||
| 92 | {{{ if (ip_cnt != copy_cnt) { |
|
| 93 | printf "불일치: %s (실제:%d, 기록:%d)\n", $1, ip_cnt, copy_cnt |
|
| 94 | } }}} |
|
| 98 | 95 | if문을 통해 불일치 값을 출력해 남겨준다. |
| 99 | 96 | |
| 100 | 97 | |
| ... | ... | |
| 118 | 115 | mpg 파일을 다른 파일에서도 조회 하기 위해 mpg 목록들을 출력한다. |
| 119 | 116 | |
| 120 | 117 | > start_ts=$(date -d "$LOG_DATE $start_input" +%s) |
| 121 | ||
| 122 | 119 | > Ex) inout = 10 |
| 123 | 120 | > 변환 후 --> 10:30:00 |
| 124 | 121 | |
| ... | ... |